package src.main.java.entity;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


public class Ocorrencia {
	
	private Long cpf;
	private Date data;
	private Date dataInicioBusca;
	private Date dataFimBusca;
	private Double valor;
	private String descricao;
	private Boolean removido;
	private TipoOcorrencia tipo;
	private String dataString;
	private String dataInicioBuscaString;
	private String dataFimBuscaString;
	private Integer id;
	private DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public Long getCpf() {
		return cpf;
	}
	public void setCpf(Long cpf) {
		this.cpf = cpf;
	}
	public Date getData() {
		return data;
	}
	public void setData(Date data) {
		this.data = data;
	}
	public Date getDataInicioBusca() {
		return dataInicioBusca;
	}
	public void setDataInicioBusca(Date dataInicioBusca) {
		this.dataInicioBusca = dataInicioBusca;
	}
	public Date getDataFimBusca() {
		return dataFimBusca;
	}
	public void setDataFimBusca(Date dataFimBusca) {
		this.dataFimBusca = dataFimBusca;
	}
	public Double getValor() {
		return valor;
	}
	public void setValor(Double valor) {
		this.valor = valor;
	}
	public String getDescricao() {
		return descricao;
	}
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	public Boolean getRemovido() {
		return removido;
	}
	public void setRemovido(Boolean removido) {
		this.removido = removido;
	}
	public TipoOcorrencia getTipo() {
		return tipo;
	}
	public void setTipo(TipoOcorrencia tipo) {
		this.tipo = tipo;
	}
	public String getDataString() {
		return df.format(data);
	}
	public void setDataString(String dataString) {
		this.dataString = dataString;
		try {
			this.data = df.parse(dataString);
		} catch (ParseException e) {
			;
		}
	}

	public String getDataInicioBuscaString() {
		return df.format(dataInicioBusca);
	}
	
	public void setDataInicioBuscaString(String dataInicioBuscaString) {
		this.dataInicioBuscaString = dataInicioBuscaString;
		try{
			this.dataInicioBusca = df.parse(dataInicioBuscaString);
		} catch (ParseException e) {
			;
		}
	}
	public String getDataFimBuscaString() {
		return df.format(dataFimBusca);
	}
	public void setDataFimBuscaString(String dataFimBuscaString) {
		this.dataFimBuscaString = dataFimBuscaString;
		try{
			this.dataFimBusca = df.parse(dataFimBuscaString);
		} catch (ParseException e) {
			;
		}
	}
	public boolean equals(Ocorrencia o){
		if (!o.getCpf().equals(this.getCpf()))
			return false;
		if (!o.getData().equals(this.getData()))
			return false;
		if (!o.getTipo().getId().equals(this.getTipo().getId()))
			return false;
		if (!o.getValor().equals(this.getValor()))
			return false;
		return true;
	}
}
